The present invention is directed to systems and methods for formatting hardware for a printhead, for use in a printing device. More specifically, and without limitation, the present invention relates to systems and methods for formatting data for multiple printhead architectures from a single ASIC (application specific integrated circuit).
In some cases, image data to be printed using a printhead that has vertically arranged imaging elements requires formatting prior to printing. The kind and order of format operations may vary depending on the arrangement of imaging elements and the output desired.
Printer drivers known in the art contain a data format function that can format halftoned data. The type of formatting performed depends on the shingling mode and the head architecture targeted for reception of the formatted data. If the printhead dot addressability is less than the dots per inch (DPI) of the raster, the raster must be split into multiple passes.
In some environments, even print data at the printhead DPI is divided among multiple passes of a printhead. This process is known as shingling and a mask is used to determine which bits of print data are sent on which pass. In some environments, 2 bpp (bit per pixel) data must be combined into 1-bpp data prior to printing. Some printheads require that certain rasters be shifted to accommodate horizontally nonlinear nozzle arrangements. Given the wide variety of possible printhead architectures and the corresponding variety of requisite data formats, it would be advantageous to use a single hardware device capable of formatting data required for a variety of printheads.
In a general purpose computer system, driver software can be used to perform data formatting functions. However, embedded stand-alone systems generally cannot perform such formatting as quickly as software running on a general purpose processor. The present invention provides a cost-effective, high-performance solution by offloading bit manipulation intensive operations to dedicated hardware. The dedicated hardware of the present invention has the capability of supporting many different printhead architectures and performing data manipulation steps with the flexibility of a software driver. Some embodiments of the present invention including a high-performance ASIC coupled with an inexpensive embedded processor can perform the tasks necessary for formatting data in a timely manner without requiring an expensive high-end processor.
The present invention is directed to systems and methods for printhead architecture hardware formatting. One preferred embodiment according to the present invention includes a system processor that supports the desired functionality as described in detail below and a system data store (SDS) that stores data associated with this functionality such as raster image data.
The SDS may include multiple physical and/or logical data stores for storing the various types of information used. Data storage and retrieval functionality can be provided by either the system processor or one or more data storage processors associated with the SDS. The system processor is in communication with the SDS via any suitable communication channel(s). The system processor may include one or more processing elements that are adapted or programmed to support the desired data formatting and/or other functionality.
Accordingly, one preferred method of printhead data formatting includes a variety of steps that may, in certain embodiments, be executed in the environment summarized above and more fully described below or may be stored as computer executable instructions on any suitable combination of computer-readable media. In accordance with one preferred embodiment of the present invention, computer executable instructions are stored in a system data store.
The systems and methods of the present invention can support the formatting function with hardware formatting logic. This hardware formatting logic can support multiple printhead platforms. As non-limiting examples, the printhead architectures depicted in FIGS. 7A and 7B can be supported. The hardware formatting logic of the present invention can perform unidirectional bit shifting, automatic resolution reduction, bit per pixel (bpp) reduction, data masking for shingling, and input data sourcing from an SDS. Some embodiments can indicate if the data swath being processed contains data after the formatting function has been completed. This will allow a system processor to determine if the processed data should be passed further in the printing chain. Further embodiments can include hardware formatting logic pipelining and can process one descriptor per provided process clock.
Additional advantages of the invention will be set forth in the description which follows. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed.